package com.ray.basic;

import com.google.common.collect.ImmutableSet;

import java.util.Set;

/**
 * 不可变集合, 在一些作为参数的集合中比较好用。
 * 因为是不可变的, 所以有一些好处, 比如, 线程安全 或 做常数集合。
 * 因为知道不能修改, 所以可以少一些修改时的检查之类的。
 * @author Ray
 */
public class C21ImmutableCollections {

    public static final Set<String> COLOR_NAMES = ImmutableSet.of(
            "red",
            "orange",
            "yellow",
            "green",
            "blue",
            "purple");



    public static void main(String[] args) {
        COLOR_NAMES.add("asd");

        // 说是这玩意很安全。但是我不太清楚什么时候会用到这种拷贝。类似于值传递?
        ImmutableSet<String> strings = ImmutableSet.copyOf(COLOR_NAMES);


    }
}
